# 1、定义一个桌子类（Desk），包含长（length）、宽（width）、高（height）属性，
# 包含一个打印桌子信息属性的方法（showInfo）。实例化2个桌子对象，为其赋予不同的属性值，并调用showInfo方法，输出每个桌子的信息。
# =================方法一====================
# class Table():   # todo:创建一个类，并带有类方法，实例化一个对象，调用类方法
#     def __init__(self,Desk,length,width,height):
#         self.Desk = Desk
#         self.length = length
#         self.width = width
#         self.height = height
# if __name__ == '__main__':
#
#     t1 = Table("办公桌",40,"30cm","50cm")
#     t2 = Table("学习桌","45cm","55cm","42cm")
#
#     print(t1.Desk)
#     print(t1.length)
#     print(t1.width)
#     print(t1.height)

# ===========方法二=================
# class Table():
#     def __init__(self, Desk, length, width, height):
#         self.__Desk = Desk
#         self.__length = length
#         self.__width = width
#         self.__height = height
#
#     def showInfo(self):  # todo:类方法 访问类里的私有属性
#         return self.__Desk, self.__length, self.__width, self.__height
#
#     def _fa2(self):
#         print("私有方法")
#
#
# if __name__ == '__main__':
#     t1 = Table("办公桌", 40, "30cm", "50cm")
#     print(t1.showInfo())
#     #     t2 = Table("学习桌","45cm","55cm","42cm")

# 2.定义一个用户类(User),用户名(username)和密码(password)是这个类的属性。
# （1）实例化两个用户,分别有不同的用户名和密码。
# （2）设计一个方法 修改密码
# from faker import Faker
#
# faker1 = Faker(locale='zh_cn')
#
#
# class Xitong():
#     def __init__(self, User, username, password):
#         self.fake = Faker(locale='zh_cn')  # todo: 设置中国地区
#         self.user = User
#         self.username = username
#         self.password = password
#
#     def Mima(self):
#         return self.fake.password(6, 0, 1, 0, 0)
#
#     def Yonghu(self):
#         return self.fake.name()
#
#
# class Gaimima(Xitong):  # todo：继承了Person的类，但是私有方法不会被继承！！！！！！！
#     def worker(self):
#         return self.Mima()
#
#
# if __name__ == '__main__':
#     print(faker1.name())  # todo：随机生成一个名字
#     print(faker1.name())  # todo：随机生成一个名字
#     print(faker1.password(6, 0, 1, 0, 0))  # todo：随机生成密码
#     # print(Gaimima)

# 3.有下面的类属性：姓名、年龄、成绩列表[语文，数学，英语]，其中每门课成绩的类型为整数，类的方法如下所述：
# (1)列表项列表项获取学生的姓名。get_name()，返回类型：str。
# (2)获取学生的年龄。get_age()，返回类型：int。
# (3)返回3门科目中最高的分数。get_course()， 返回类型：int。 类定义好之后，可以定义同学测试如下:
# class List:
#     def __init__(self, name, age, grade):
#         self.name = name
#         self.age = age
#         self.grade = grade
#
#     def get_name(self):
#         return self.name
#
#     def get_age(self):
#         return self.age
#
#
# class Grandelist(List):
#     def __init__(self, name, age, grade, china, math, english):
#         List.__init__(self, name, age, grade)
#         self.china = china
#         self.math = math
#         self.english = english
#
#     def get_course(self):
#         max = self.china
#         if max < self.math:
#             max = self.math
#         if max < self.english:
#             max = self.english
#         print(int(max))
#
#
# if __name__ == '__main__':
#     s1 = List("小张", 18, 98)
#     print(str(s1.get_name()))
#     print(int(s1.get_age()))
#     s2 = Grandelist("小张", 18, 98, 87, 98, 100)
#     s2.get_course()

# # 4.Python面向对象练习题
# # 定义管理员类，管理员有属性(name,password)，可以创建学校、创建课程、创建老师
# # 定义老师类，老师有属性(name,password)，可以添加课程、给学生打分,但发现学生没有购买课程时，不能打分，并给出提示
# # 定义学生类，学生有属性(name,password)，可以获取当前学校、选择学校、选择课程，但学校没有该课程时，需要提示，并且不能选择该课程
# # 定义学校类，学校有属性(name,addr)，可以添加课程
# # 定义课程类，课程有属性(name)，可以添加学生
#
# class Manage():
#     def __init__(self,name,password):
#         self.name = name
#         self.password = password
#
# class Teacher(Manage):
#     def __init__(self,name,password):
#         # self.name = name
#         # self.password = password
#
# class Student(Teacher)：
#     def __init__(self, name, password):
#
#
# class School(Student)：
#     def __init__(self, name, addr):
#
# class Course(School):
#     def __init__(self, name):


# 4. 淘宝商家后台，可以上架商品、下架商品，功能如下：
# （1） 可以添加商品，商家添加完的商品会存到商品列表
# 1.1  商品要有名称、sku、价格
# （2） 可以修改商品信息：名称、sku、价格
# （3） 可以对商品进行下架，下架后的商品不再展示

# class Taobaohoutai():
#     def __init__(self,Shelf_goods,Sold_out):
#         self.Shelf_goods =Shelf_goods
#         self.Sold_out = Sold_out
# class Commodity(Taobaohoutai):
#     def __init__(self, name, sku, price, Shelf_goods, Sold_out):
#         Taobaohoutai.__init__(Shelf_goods, Sold_out)
#         self.name = name
#         self.sku = sku
#         self.price = price
#
# # class Xiajia(Taobaohoutai):
#
#
# if __name__ == '__main__':
#     s1 = Taobaohoutai("蛋糕","苹果")
#     print(s1.Shelf_goods)
#     print(s1.Sold_out)
#     print()










